\documentclass[a4paper]{article}

%%%%% Paquetes

\usepackage[spanish]{babel} 
\usepackage[utf8]{inputenc}
\usepackage{makeidx} %Indice
\usepackage{amsmath} %Ecuaciones sin numero al costado
\usepackage{graphicx} %Imagenes
\usepackage{fancyhdr} %Para encabezado y pie de pagina
\usepackage{float}
\usepackage[top=3cm, bottom=3cm, left=2.5cm, right=2.5cm]{geometry} 
\usepackage[hidelinks]{hyperref} %Para url y links
\hypersetup{colorlinks=false}

\usepackage{longtable} %Para tablas que ocupan mas de una hoja

% Para las notas al pie dentro de tablas o tabulaciones
\usepackage{tablefootnote}

%%%%% Paquetes

\begin{document}

\pagenumbering{gobble} %No numerar la primer pagina

\begin{titlepage}
	\centering
	\includegraphics{images/logo_fiuba.png}\par\vspace{1cm}
	{\scshape\LARGE Facultad de Ingeniería \par
	Universidad de Buenos Aires  \par}
	\vspace{1.5cm}
	{\Large\bfseries Propuesta de Trabajo Profesional\par}
	\vspace{0.5cm}
	{\huge\bfseries Aplicación mobile para comparación de precios de productos de supermercado \par}
	\vspace{6.5cm}
	\begin{flushleft}
	\Large\itshape{Bruno Liberini - 90899}\\
	\vspace{0.5cm}
	\Large{Tutor: XXXX} \par
	\end{flushleft}
	\vfill
% Bottom of the page
	{\large Febrero 2020 \par}
\end{titlepage}

  \newpage
  
  \pagenumbering{arabic} %Comenzar a numerar las paginas

  \tableofcontents % Indice
    
%%%% Cabecera y pie de pagina
  \pagestyle{fancy}
  \lhead{Bruno Liberini - Padrón 90899}
  \rhead{}
  \renewcommand{\headrulewidth}{0.4pt} % grosor de la línea de la cabecera
%%%% Cabecera y pie de pagina

  \newpage
  
  \section{Introducción}
  
  El siguiente documento presenta la propuesta del Trabajo Profesional de Ingeniería en Informática del alumno Bruno Liberini, padrón 90899. El docente que estará a cargo como tutor del trabajo profesional será XXXX. \newline
  
  El tema elegido para el trabajo profesional es \textit{“Aplicación mobile para comparación de precios de productos de supermercado”}. \newline
  
  El objetivo del trabajo es aplicar los conocimientos adquiridos durante la carrera a fin de desarrollar   \newline
  
  El trabajo requerirá la aplicación de conocimientos sobre ..., calidad en el desarrollo de software (para el control de calidad durante el desarrollo del trabajo) y administración y gestión de proyectos informáticos (para la administración del desarrollo del trabajo) \newline
  
  \subsection{Motivación}
  
  
  
  \section{Alcance}
  
  El alcance del trabajo contempla los siguientes puntos.
  
  \begin{enumerate}
  	\item Uno
  	\item Dos
  \end{enumerate}
  
  \section{Características del trabajo}

  \subsection{Tema uno}
  
  Característica Uno
  
  \subsection{Tema dos}
  
  Característica dos
  
  \section{Tecnologías y Herramientas}
  
  \subsection{Tecnología Uno}
  
  Descripción tecnología uno
   
  \subsection{Lenguaje de programación: X}
  
  X
  
  \subsection{Librería: Y}
  
 Y
  
  \subsection{Herramientas}
  
  \begin{table}[htbp]
  	\begin{center}
  		\begin{tabular}{|l|l|}
  			\hline
  			\textbf{Categoría}				 			& 		\textbf{Herramientas} \\
  			\hline
  			Lenguaje de Programación					&		Node.js \\
  														&		Python \\
  														&		JavaScript \\
			\hline
			Base de datos								&		DynamoDB \\ 
			\hline
			Servicios Cloud								&		Amazon Web Services \\ 
  			\hline
  			Entorno de Desarrollo			 			&		Visual Studio Code \\ 
  														&		Jupyter Notebook \\
  			\hline
  			Control de Versiones						& 		Git \\ 
  			\hline
  			Administración y Control del Proyecto		& 		Google Docs \\
  														& 		Asana \\
  			\hline
  			Elaboración de Documentos					& 		LaTex \\
  														& 		Jupyter Notebook \\
  			\hline
  			Librerías Principales						& 		ExpressJS \\
  														& 		React \\
  														& 		Papermill \\
  														& 		node-wit \\
  														& 		node-telegram-bot-api \\
  			\hline
  		\end{tabular}
  	\end{center}
  \end{table}

  \newpage
  
  \section{Plan de trabajo}
  
  \subsection{Equipo de trabajo}
  
  \begin{itemize}
  	\item Tutor: XXXX
  	\item Estudiante: Bruno Liberini
  \end{itemize}
  
  \subsection{Metodología}
  
  Para el desarrollo de este trabajo se seguirá una adaptación de la metodología SCRUM \cite{SCRUM}. Se definirán iteraciones cuyas fechas se determinarán luego de las reuniones con el tutor, y al final de las cuales se hará entrega de un \textit{feature} del proyecto. \\
  
  Al iniciar cada iteración, se priorizarán los requerimientos con el tutor, se establecerán fechas parciales de entrega si así fuera necesario y finalmente se realizará una reunión al final de la iteración a fin de presentar el entregable desarrollado en ella (\textit{demo}). 
  
  \subsection{Estimaciones}
  
  Se realizó la estimación de las tareas en conjunto con el tutor. Todas las estimaciones están expresadas en horas reloj.
  
  \begin{longtable}{| c | l | c |}
  	\hline
  	\textbf{Iteración}	& 	\textbf{Descripción}												& 	\textbf{Estimación (h)} \\
  	\hline \hline
  	\endfirsthead
  	
  	\hline
  	\textbf{Iteración}	& 	\textbf{Descripción}												& 	\textbf{Estimación (h)} \\
  	\hline \hline
  	\endhead
  	
  	\endfoot
  	
  	\endlastfoot
  	
  	-					&	Propuesta de Trabajo Profesional 										&	45\\
  	\hline
    1					&	Configuración de entorno local 										&	  10\\
    1					&	Configuración de servicios en AWS 									&	  12\\
    1					&	Configuración de app en Wit.ai 										&	  12\\
    1					&	Configuración de bot en Telegram 									&	  9\\
    3					&	Diseño de base de datos 										&	  9\\
    3					&	Carga de datos mockup 										        &	  9\\
    \hline
    2					&	Diseño de entidades y flujo de bot en Wit.ai 								&	  18\\
    2					&	Entrenamiento de bot en Wit.ai 										&	  36\\
    2					&	Desarrollo de tests de usabilidad de bot 								&	  12\\
    2					&	Documentación flujo de bot 										&	  6\\
    \hline
    3					&	Creación de API de autenticación 									&	  6\\
    3					&	Creación de API de datos de cursos 									&	  9\\
    3					&	Creación de API de datos de fechas de evaluaciones 							&	  6\\
    3					&	Creación de API de mesas de examen 									&	  6\\
    3					&	Documentación de API 										        &	  3\\
    3					&	Desarrollo de tests sobre API 										&	  6\\
    \hline
    4					&	Integración de chatbot con API para autenticación 							&	  3\\
    4					&	Integración de chatbot con API para datos de cursos 							&	  6\\
    4					&	Integración de chatbot API para datos de fechas de evaluación 						&	  3\\
    4					&	Integración de chatbot API para mesas de examen 							&	  3\\
    4					&	Desarrollo de tests sobre integración de chatbot con API 						&	  6\\
    \hline
    5					&	Diseño de UI/markup módulo cursos del backend 								&	  9\\
    5					&	Desarrollo de comportamiento del módulo cursos del backend				    &	  9\\
    5					&	Diseño de UI/markup módulo fechas de evaluación del backend 				&	  6\\
    5					&	Desarrollo de comportamiento del módulo fechas de evaluación del backend    &	  6\\
    5					&	Diseño de UI/markup módulo mesas de examen del backend 						&	  6\\
    5					&	Desarrollo de comportamiento del módulo mesas de examen del backend    		&	  6\\
    \hline
    6					&	Integración de backend con API autenticación 								&	  3\\
    6					&	Integración de backend con API para datos de cursos 							&	  6\\
    6					&	Integración de backend con API  para datos de fechas de evaluación 					&	  3\\
    6					&	Integración de backend con API para mesas de examen 							&	  3\\
    6					&	Desarrollo de tests sobre integración de backend con API 						&	  6\\
    \hline
    7					&	Creación de API para encuestas (carga de formulario y de respuestas) 					&	  12\\
    7					&	Diseño de módulo de carga de formulario de encuestas en el backend 						&	  12\\
    7					&	Integración de backend con API para carga de formularios de encuestas 					&	  6\\
    7					&	Desarrollo de tests sobre backend para carga de formularios de encuestas 				&	  3\\
    \hline
    8					&	Diseño flujo del bot para encuestas 									&        18\\
    8					&	Integración de chatbot con API para respuestas a encuestas 						&	  6\\
    8					&	Desarrollo de tests sobre integración entre chatbot y API para 			&	12\\
    					&	respuestas a encuestas 			&	  \\
    \hline
    9					&	Implementación de pipeline para procesamiento de encuestas 						&	  24\\
    9					&	Creación de API para descarga de informes de encuestas 							&	  12\\
    9					&	Integración entre API y chatbot para consulta de informes de encuestas 					&	  3\\
    9					&	Desarrollo de tests sobre API para consulta de informes de encuestas 					&	  3\\
    \hline
    10                   &   Desarrollo de módulo de notificaciones                                         &         18\\
    10                   &   Desarrollo de tests de módulo de notificaciones                                &         9\\
    10                   &   Integración entre módulo de notificaciones y chatbot                           &         6\\
    10                   &   Desarrollo de tests sobre integración entre chatbot y módulo  				   &         6\\
    					&   de notificaciones															   &  \\
    \hline
  	-					&	Reuniones															&	16\\
  	\hline
  	-					&	Informe y Presentación												&	20\\
  	\hline
  \end{longtable}

  Además, se debe tener en cuenta el tiempo dedicado a la administración del proyecto, que se estima en 10\% del tiempo total de desarrollo e investigación.
  
   
  \begin{table}[H]
  	\centering
  	\begin{tabular}{|l|c|}
  		\hline
  		\textbf{Descripción} 	& \textbf{Esfuerzo (h)}\\
  		\hline
  		Iteración 1 			& 61\\
  		\hline
  		Iteración 2 			& 72\\
  		\hline
  		Iteración 3 			& 36\\
  		\hline
  		Iteración 4 			& 21\\
  		\hline
  		Iteración 5 			& 42\\
  		\hline
  		Iteración 6 			& 21\\
  		\hline
  		Iteración 7 			& 33\\
  		\hline
  		Iteración 8 			& 36\\
  		\hline
  		Iteración 9 			& 42\\
  		\hline
  		Iteración 10 			& 39\\
  		\hline
  		\hline
  		Otros 					& 81\\
  		\hline
  		Administración 			& 48,4\\
  		\hline
  		\hline
  		\textbf{Esfuezo Total} 	& 532,4 \\
  		\hline
  	\end{tabular}
  \end{table}
  
  \newpage
  
  \subsection{Cronograma de entregables}
  
  A continuación se hace un cronograma tentativo de entregables al finalizar cada una de las iteraciones. Estos pueden ser modificados en caso de verse necesario por el tutor o el desarrollador del proyecto. Las fechas de cada una de las entregas serán coordinadas en conjunto con el tutor.
  
  \begin{table}[htbp]
  	\begin{center}
  		\begin{tabular}{|c|l|}
  			\hline
  			\textbf{Iteración}	 	& \textbf{Entregables}\\
  			\hline
  			1 						& $\bullet$ Esquema de base de datos \\
  									& $\bullet$ Set de datos de ejemplo \\
  			\hline
  			2						& $\bullet$ Documentación de flujo de trabajo del chatbot \\
  								    & $\bullet$ Reporte de tests de usabilidad del chatbot \\
		    \hline
		    3						& $\bullet$ Documentación de los servicios de la API \\
		   							& $\bullet$ Reporte de tests de los servicios de la API \\
            \hline
            4						& $\bullet$ Funciones del chatbot con datos mockup (menos encuestas) \\
            						& $\bullet$ Reporte de tests de integración chatbot-API \\
		    \hline
		    5						& $\bullet$ Página web del backend \\
		    \hline
		    6						& $\bullet$ Funciones de carga del backend (menos encuestas) \\
		    						& $\bullet$ Reporte de tests de integración backend-API \\		    
		    \hline
		    7						& $\bullet$ Funciones de carga de formularios de encuestas en backend \\
		    						& $\bullet$ Reporte de tests de carga de formularios de encuestas en backend \\
			\hline
			8						& $\bullet$ Función de respuestas a encuestas del chatbot \\
									& $\bullet$ Reporte de tests de carga de respuestas del chatbot\\	
			\hline
			9						& $\bullet$ Función de consulta de resultados de encuestas del chatbot \\
									& $\bullet$ Reporte de tests de consultas de resultados de encuestas del chatbot\\	
			\hline
			10						& $\bullet$ Función de notificaciones del chatbot \\
									& $\bullet$ Reporte de tests de notificaciones \\					    
		    \hline
		    - 						& $\bullet$ Informe final y conclusiones del Trabajo Profesional \\
		    \hline
  		\end{tabular}
  	\end{center}
  \end{table}  	
  
  \newpage
  \section{Referencias y material consultado}
  
  \renewcommand\refname{\small}
  
  \begin{thebibliography}{X}
  	
  \bibitem{FREQUENCY_TEACH_ONLINE} Mandernach, B. J., Dailey-Hebert, A., \& Donnelli-Sallee, E. (2007). Frequency and time investment of instructors' participation in threaded discussions in the online classroom. \textit{Journal of Interactive Online Learning}, 6(1), 1-9. Recuperado el 1 de Noviembre de 2019 de: \url{https://www.ncolr.org/jiol/issues/pdf/6.1.1.pdf}
  	
  \bibitem{CHATBOT_TYPES} Abdul-Kader, S. A., \& Woods, J. C. (2015). Survey on chatbot design techniques in speech conversation systems. \textit{International Journal of Advanced Computer Science and Applications, 6(7)}. Recuperado el 1 de Septiembre de 2019 de: \url{http://repository.essex.ac.uk/21238/1/Paper_12-Survey_on_Chatbot_Design_Techniques_in_Speech_Conversation_Systems.pdf}
  
  \bibitem{BOT_UX} Velloso, M. (2017, Diciembre). Principles of bot design, \textit{Microsoft Docs}. Recuperado el 1 de Septiembre de 2019 de: \url{https://docs.microsoft.com/en-us/azure/bot-service/bot-service-design-principles?view=azure-bot-service-4.0}
  
  \bibitem{NIELSEN} Nielsen, J. (1995). \textit{10 usability heuristics for user interface design}. Nielsen Norman Group, 1(1). Recuperado el 1 de Noviembre de 2019 de: \url{http://courses.ischool.utexas.edu/rbias/2014/Spring/INF385P/files/10%20Usability%20Heuristics%20for%20User%20Interface%20Design.docx}
  	
  \bibitem{SCOTT_BOT_HEURISTICS} Scott, K. \textit{Usability Heuristics For Bots}. Recuperado el 1 de Noviembre de 2019 de: \url{https://thekevinscott.com/usability-heuristics-for-bots/}.
  
  \bibitem{TACTICS} Bass, L., Clements, P., \& Kazman, R. (2012). Software Architecture in Practice (3rd ed.). \textit{Westford, Massachusetts: Pearson Education}.
  
  \bibitem{TACTICS_CLOUD} Gorton, I., \& Klein, J. (2014). Distribution, data, deployment: Software architecture convergence in big data systems. \textit{IEEE Software, 32(3), 78-85.} Recuperado el 1 de Septiembre de 2019 de: \url{http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.683.8785&rep=rep1&type=pdf}
 
  \bibitem{CLOUD} Josep, A. D., Katz, R., Konwinski, A., Gunho, L. E. E., PatterSon, D., \& Rabkin, A. (2010). "A view of cloud computing". \textit{Communications of the ACM, 53(4)}. Recuperado el 1 de Septiembre de 2019 de: \url{https://s3.amazonaws.com/academia.edu.documents/34578652/a_view_of_cc.pdf?response-content-disposition=inline%3B%20filename%3DA_View_of_Cloud_Computing_Clearing_the_c.pdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20190924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190924T030703Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=feb929e2aa9e5be511eaef21a88703c6991d2e7f25d7bd50405e7152d82456fc}
  	
  \bibitem{AWS_PRODUCTS} Amazon Web Services (2014). \textit{Productos de la nube}. Recuperado el 1 de Septiembre de 2019 de: \url{https://aws.amazon.com/es/products/}
  
  \bibitem{PAPERMILL} \textit{Papermill}. Recuperado el 1 de Noviembre de 2019 de: \url{https://github.com/nteract/papermill}
  
  \bibitem{PAPERMILL_NETFLIX} Netflix Technology Blog. (2018, Agosto 27). \textit{Part 2: Scheduling Notebooks at Netflix}. Recuperado el 1 de Noviembre de 2019 de: \url{https://medium.com/netflix-techblog/scheduling-notebooks-348e6c14cfd6}.
  
  \bibitem{TELEGRAM_BOTS} Telegram APIs. \textit{Bots: An introduction for developers.} (n.d.). Recuperado el 1 de Noviembre de 2019 de: \url{https://core.telegram.org/bots}.
  
  \bibitem{TELEGRAM_ENCRYPTION} Telegram APIs. \textit{End-to-End Encryption, Secret Chats}. Recuperado el 1 de Noviembre de 2019 de: \url{https://core.telegram.org/api/end-to-end}.
  
  \bibitem{WITAI} \textit{Wit.ai}. Recuperado el 1 de Noviembre de 2019 de: \url{https://wit.ai/}
  
  \bibitem{DUCKLING} Wit.ai Team. (2018, Marzo 15). \textit{Open Sourcing our new Duckling}.  Recuperado el 1 de Noviembre de 2019 de: \url{https://medium.com/wit-ai/open-sourcing-our-new-duckling-47f44b776809}.
  
  \bibitem{BOTENGINE} Wit.ai Team. (2018, Marzo 15). \textit{Bot Engine}. Recuperado el 1 de Noviembre de 2019 de: \url{https://medium.com/wit-ai/bot-engine-26af22d37fd6}.
  
  \bibitem{JUPYTER} \textit{Project Jupyter}. Recuperado el 1 de Noviembre de 2019 de: \url{https://jupyter.org/}
  
  \bibitem{JUPYTER_NATURE} Perkel, J. M. (2018, Octubre 30). \textit{Why Jupyter is data scientists' computational notebook of choice}. Recuperado el 1 de Noviembre de 2019 de: \url{https://www.nature.com/articles/d41586-018-07196-1}.
  
  \bibitem{SCRUM} \textit{SCRUM. Metodología de desarrollo de software, con ciclo de vida iterativo}. Recuperado el 1 de Julio de 2019 de: \url{http://scrummethodology.com/}
  
  \end{thebibliography}
  
  
\end{document}